import apiClient from './index'; // 导入配置的 Axios 实例

/**
 * 根据章节号获取实体列表
 * @param {Number} selectedChapter - 章节号
 * @returns {Promise<List<String>>} - 返回实体列表
 */
export const getEntitiesByChapter = async (selectedChapter) => {
    try {
        // 发送请求到后端
        console.log('Sending selectedChapter:', selectedChapter); // 调试信息
        const response = await apiClient.get('/geolearning/entitylist', {
            params: {
                selectedChapter
            },
            headers: {
                'Content-Type': 'application/json'
            }
        });
        // 返回实体列表
        return response.data;
    } catch (error) {
        console.error('获取实体列表失败', error);
        throw new Error('获取实体列表失败');
    }
};

export const addEntity = async (entityData) => {
    try {
        // 发送请求到后端
        console.log('Sending entityData:', entityData); // 调试信息
        const response = await apiClient.post('/geolearning/entitylist/save', entityData, {
            headers: {
                'Content-Type': 'application/json'
            }
        });
        // 返回新增的实体
        return response.data;
    } catch (error) {
        console.error('添加概念词失败', error);
        throw new Error('添加概念词失败');
    }
};

export const deleteEntity = async (entityname) => {
    try {
        // 发送请求到后端
        console.log('Deleting entity with name:', entityname); // 调试信息
        const response = await apiClient.delete(`/geolearning/entitylist/delete?entityname=${entityname}`);
        // 返回删除结果（为什么要返回删除结果？ 我不能不返回？）
        return response.data;
    } catch (error) {
        console.error('删除概念词失败', error);
        throw new Error('删除概念词失败');
    }
};
// 代码天才？别学了！会的太多了！